//
//  ITTabBar.m
//  coderSinaWeiBo24
//
//  Created by 张雪雪 on 16/3/22.
//  Copyright © 2016年 www.xue.com. All rights reserved.
//

#import "ITTabBar.h"
#import "UIView+Extension.h"

@interface ITTabBar()

@property(nonatomic,weak)UIButton *plusButton;

@end


@implementation ITTabBar
//编译器认为我们自己定义的成员与父类重名,会有我们自己的逻辑,我们如果没有自己的逻辑的话,可以使用@dynamic标识
@dynamic delegate;

-(instancetype)initWithFrame:(CGRect)frame{

    self = [super initWithFrame:frame];

    if (self) {
        //初始化一个UIbutton
        UIButton *button = [[UIButton alloc]init];
        
        //设置按钮的背景图片
        //设置按钮的背景图片
        [button setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button"] forState:UIControlStateNormal];
        [button setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button_highlighted"] forState:UIControlStateHighlighted];
        
        //设置按钮的中间imageView的图片
        [button setImage:[UIImage imageNamed:@"tabbar_compose_icon_add"] forState:UIControlStateNormal];
        [button setImage:[UIImage imageNamed:@"tabbar_compose_icon_add_highlighted"] forState:UIControlStateHighlighted];
//设置大小-->当前的状态的button
        button.size = button.currentBackgroundImage.size;
        
        //添加事件
        [button addTarget:self action:@selector(plusButtonClick:) forControlEvents:UIControlEventTouchUpInside];
        
        [self addSubview:button];
        
        self.plusButton = button;

    }

    return self;
}

- (void)layoutSubviews{

    [super layoutSubviews];
    
    //调整加号按钮的位置
    self.plusButton.centerX = self.width * 0.5;
    self.plusButton.centerY = self.height * 0.5;
//取出子控件的个数
    NSInteger count = self.subviews.count;
    
    //计算每一个button的宽度
    CGFloat buttonWidth = self.width / 5;
    
    NSInteger index = 0;
    
    for (int i = 0 ;i < count ; i++) {
        //根据index调整UITabbarButton的位置
        UIView *childView = self.subviews[i];
        
        //判断是否是UItabbarButton
        if ([childView isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
            //设置宽度与x值
            childView.width = buttonWidth;
            //这个地方乘以的是自己维护的一个index-->UITabBar里面的子控件不只是UITabBarButton
            childView.x = buttonWidth * index;
            
            //在设置完一个按钮之后,index就加了一个1
            index ++;
            //如果发现第2个按钮设置完成,第3个按钮的位置需要多向后面移一个,所以加一个1
            if (index == 2) {
                index ++;
            }

        }
    }
}
- (void)plusButtonClick:(UIButton *)button{
    
    //    if (self.plusBtnClick) {
    //        self.plusBtnClick();
    //    }
    if ([self.delegate respondsToSelector:@selector(tabBar:didSelectPlusButton:)]) {
        [self.delegate tabBar:self didSelectPlusButton:button];
    }
}
@end
